package thead;

/**
 * 线程的销毁/终止
 * 此处我们是手动创建出标志位,来作为run方法执行结束的条件
 * 很多线程,执行很久,往往是因为有循环要持续很久
 *  要想让run方法尽快结束,只能 让 循环 尽快结束,退出循环
 */
public class Demo7 {
    // 此处我们使用 isQuit 来作为我们线程结束的标志位
    private static boolean isQuit = false;
    public static void main(String[] args) throws InterruptedException {
        Thread t = new Thread(() -> {
            while(!isQuit) {
                // 此处的打印可以改成任意逻辑来表示线程的工作内容
                System.out.println("线程工作中");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            }
            System.out.println("线程工作完毕!");
        });
        t.start();
        Thread.sleep(5000);
        isQuit = true;
        System.out.println("主线程工作完毕");
    }
}
